package com.hyopt.modules.mqtt;

import lombok.extern.slf4j.Slf4j;
import org.eclipse.paho.client.mqttv3.IMqttDeliveryToken;
import org.eclipse.paho.client.mqttv3.MqttCallback;
import org.eclipse.paho.client.mqttv3.MqttMessage;

/**
 * @Author Li9527
 * @Description 常规MQTT回调函数
 * @Date 2023/4/12 16:14
 **/
@Slf4j
public class Callback implements MqttCallback {

//    /**
//     * MQTT 断开连接会执行此方法
//     */
//    @Override
//    public void connectionLost(Throwable throwable) {
//        log.info("断开了MQTT连接 ：{}", throwable.getMessage());
//        log.error(throwable.getMessage(), throwable);
//    }

    /**
     * publish发布成功后会执行到这里
     */
    @Override
    public void deliveryComplete(IMqttDeliveryToken iMqttDeliveryToken) {
//        log.info("发布消息成功");
    }

    @Override
    public void connectionLost(Throwable cause) {

    }

    @Override
    public void messageArrived(String topic, MqttMessage message) throws Exception {

    }

//    /**
//     * subscribe订阅后得到的消息会执行到这里
//     */
//    @Override
//    public void messageArrived(String topic, MqttMessage message) throws Exception {
//        //  TODO    此处可以将订阅得到的消息进行业务处理、数据存储
//        log.info("收到来自 " + topic + " 的消息：{}", new String(message.getPayload()));
//    }
}